1e520db69b79cc0b5c51d8f03285cf11d4ca3b68,platform/lang-impl/src/com/intellij/codeInsight/completion/impl/LiftShorterItemsClassifier.java,LiftShorterItemsClassifier,liftShorterElements,#Iterable#THashSet#ProcessingContext#,142

Before Change



    boolean forSorting = context.get(CompletionLookupArranger.PURE_RELEVANCE) != Boolean.TRUE;
    final List<LookupElement> result = new ArrayList<LookupElement>(srcSet.size());
    for (LookupElement element : myNext.classify(source, context)) {
      if (processed.add(element)) {
        List<LookupElement> shorter = addShorterElements(srcSet, processed, arraysProcessed, null, myToLiftForPreselection.get(element));
        if (forSorting) {

After Change


    final Set<LookupElement[]> arraysProcessed = new THashSet<LookupElement[]>(myInterned.size(), TObjectHashingStrategy.IDENTITY);

    final boolean forSorting = context.get(CompletionLookupArranger.PURE_RELEVANCE) != Boolean.TRUE;
    final Iterable<LookupElement> next = myNext.classify(source, context);
    return new Iterable<LookupElement>() {
      @Override
      public Iterator<LookupElement> iterator() {